import random
import string

def generate_random_full_name():
    # 名字和姓氏列表
    first_names = ['John', 'Emma', 'Michael', 'Sophia', 'James', 'Olivia', 'William', 'Ava',
                   'Alexander', 'Emily', 'Daniel', 'Charlotte', 'Benjamin', 'Mia', 'Jacob', 'Harper',
                   'Ethan', 'Abigail', 'Henry', 'Ella', 'Sebastian', 'Scarlett', 'Jack', 'Amelia',
                   'Liam', 'Isabella', 'Noah', 'Sophia', 'Logan', 'Avery', 'Lucas', 'Grace',
                   'Mason', 'Aria', 'Elijah', 'Evelyn', 'Oliver', 'Chloe', 'Jacob', 'Zoe',
                   'Ethan', 'Lily', 'Aiden', 'Madison', 'Caden', 'Riley', 'Jackson', 'Nora']

    last_names = ['Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',
                  'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',
                  'Thomas', 'Taylor', 'Moore', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson',
                  'Lee', 'Walker', 'Perez', 'Hall', 'Young', 'Allen', 'Sanchez', 'Wright', 'King',
                  'Scott', 'Green', 'Baker', 'Adams', 'Nelson', 'Hill', 'Ramirez', 'Campbell',
                  'Mitchell', 'Roberts', 'Carter', 'Phillips', 'Evans', 'Turner', 'Torres', 'Parker']

    # 随机选择名字和姓氏
    first_name = random.choice(first_names)
    last_name = random.choice(last_names)

    # 返回全名
    return f"{first_name}{last_name}"


def generate_random_string():
    # 生成随机长度，范围为12到15
    length = random.randint(12, 15)

    # 生成随机字符串
    letters = string.ascii_letters + string.digits
    random_string = ''.join(random.choice(letters) for _ in range(length))

    return random_string


def generate_random_full_name_password():
    full_name = generate_random_full_name()
    password = generate_random_string()
    return full_name,password


def generate_sign_in_data():
    full_name,password = generate_random_full_name_password()
    # email = f"{full_name.lower()}{random.randint(1, 99)}@autogpt-zh.com"
    # 生成随机年份（1978年到2000年之间）
    year = random.randint(1978, 2000)
    # # 生成随机月份（1到12月，不包括2月）
    month = random.choice([x for x in range(1, 13) if x != 2])
    # # 生成随机日期（1到30日，不包括31日）
    day = random.randint(1, 30)
    # # 格式化日期字符串
    bir = f"{month:02d}{day:02d}{year}"

    return password, full_name, bir
